Dynamic Programming: The Rod Cutting Problem